package com.cyt.work.enrollment.model.po;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.cyt.base.util.BaseUtil;
import com.cyt.base.util.DictCode;
import com.cyt.sys.model.po.SysUser;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;

/**
 * 自主招生-招生学生信息实体类
 *
 * @author caideyong
 * @date 2019-11-22 16:30:39
 */
@Data
@NoArgsConstructor
@Table(name = "cyt_enrollment_stuinfo")
public class EnrollmentStuinfo implements Serializable {

	/**
     * 主键
     */ 
	@Id
	private String id;

	/**
     * 姓名
     */
	@Excel(name="姓名",orderNum = "1")
	@Column(name = "NAME")
	private String name;

	/**
     * 性别(男，女)
     */
	@Excel(name="性别",orderNum = "2",replace = {"男_1", "女_2"})
	@Column(name = "SEX")
	private String sex;

	/**
     * 政治面貌(普通群众，共青团员，中共党员)
     */
	@Excel(name="政治面貌",orderNum = "3",replace = {"普通群众_1", "共青团员_2","中共党员_3"})
	@Column(name = "POLITICAL_STATUS")
	private String politicalStatus;

	/**
     * 民族(56个)
     */
	@Column(name = "NATIONALITY")
	private String nationality;

	/**
     * 户口类型(城镇，农村)
     */
	@Column(name = "ACCOUNT_TYPE")
	private String accountType;

	/**
     * 联系电话
     */
	@Excel(name="联系电话",orderNum = "4")
	@Column(name = "PHONE")
	private String phone;

	/**
     * 身份证号码
     */
	@Excel(name="身份证号码",orderNum = "5")
	@Column(name = "CARD")
	private String card;

	/**
     * 毕业学校
     */
	@Excel(name="毕业学校",orderNum = "6")
	@Column(name = "SCHOOL")
	private String school;

	/**
     * 学校所在区(县)
     */ 
	@Column(name = "SCHOOL_PLACE")
	private String schoolPlace;

	/**
     * 户口所在地
     */ 
	@Column(name = "ACCOUNT_PLACE")
	private String accountPlace;

	/**
     * 高考中考报名号(准考证号)
     */
	@Excel(name="准考证号",orderNum = "7")
	@Column(name = "TEST_NUM")
	private String testNum;

	/**
     * 邮政编码
     */ 
	@Column(name = "POST_NUM")
	private String postNum;

	/**
     * 所在年级总人数
     */ 
	@Column(name = "GRADE_NUM")
	private String gradeNum;

	/**
     * 所在班级总人数
     */ 
	@Column(name = "CLASS_NUM")
	private String classNum;

	/**
     * 详细通讯地址及联系人
     */ 
	@Column(name = "PLACE")
	private String place;

	/**
     * 家庭信息id
     */ 
	@Column(name = "HOME_ID")
	private String homeId;

	/**
     * 考试成绩id
     */ 
	@Column(name = "GRADE_ID")
	private String gradeId;

	/**
     * 奖惩情况详情
     */ 
	@Column(name = "REWARD")
	private String reward;

	/**
     * 审核状态
     */
	@Excel(name="审核状态",orderNum = "8",replace = {"待审核_1", "已通过_2","已驳回_3"})
	@Column(name = "REVIEW_STATE")
	private String reviewState;

	/**
     * 审核意见
     */
	@Excel(name="审核意见",orderNum = "9")
	@Column(name = "REVIEW_CMMT")
	private String reviewCmmt;

	/**
     * 创建时间
     */
	@Column(name = "CREATE_TIME")
	private Date createTime;

	/**
     * 更新时间
     */ 
	@Column(name = "UPDATE_TIME")
	private Date updateTime;

	/**
     * 创建人
     */ 
	@Column(name = "CREATOR")
	private String creator;

	/**
     * 更新人
     */ 
	@Column(name = "UPDATOR")
	private String updator;

	/**
     * 删除标志
     */ 
	@Column(name = "REMOVE_TAG")
	private String removeTag;

	/**
     * 发布id
     */ 
	@Column(name = "RELEASE_ID")
	private String releaseId;

	/**
     * 一寸照片
     */ 
	@Column(name = "PIC")
	private String pic;

	@Transient
	private String num;
	/**
	 * 创建对象
	 *
	 * @param sysUser 当前用户信息
	 * @author caideyong
	 * @date 2019-11-22 16:30:39
	 */
	public EnrollmentStuinfo(SysUser sysUser) {
		this.id = BaseUtil.uId();
		this.removeTag = DictCode.BASE_REMOVE_TAG_NORMAL;
		this.createTime = new Date();
		this.creator = sysUser.getId();
		this.updateTime = new Date();
		this.updator = sysUser.getId();
	}
}